home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)TB / (A)TBI.ADF / FixDisk / FixDisk.doc < prev    next >
Text File  |  1989-09-12  |  12KB  |  270 lines

  1.                   FixDisk V1.2
  2.            (C) Copyright Werner Guenther 1990
  3.                 Freeware
  4.             USE THIS PROGRAM AT YOUR OWN RISK
  5.  
  6.  
  7.   FixDisk is a program to recover as much as possible from a
  8. defective disk. I don't claim it is better than Diskdoctor or
  9. DiskSalv, but it has some features the others don't have:
  10.   It can recover damaged (unreadable) tracks. It has functions to
  11. check file integrity, to check the directory structure and functions
  12. to undelete, copy or show (even defective) files and fix corrupted
  13. directory pointers.
  14.   A damaged file structure can be recovered copying the data file by
  15. file to another disk (a la DiskSalv) or can be fixed in place (like
  16. Diskdoctor). Everything can be selected with an intuition interface,
  17. so users can determine what action should be take place.
  18.   Now the bad news: The program does not keep track of loose blocks,
  19. those files without a file header, as DiskSalv does.
  20.   It doesn't process partitions > 48Mb.
  21.  
  22. USAGE
  23.  
  24.   After starting FixDisk from CLI or Workbench, you will see a set of
  25. gadgets with the available drives on the top of the window. Choose
  26. the desired drive by clicking its gadget. If the chosen drive is a
  27. 3.5" or a 5.25" drive, you will be asked to insert a disk. Now the
  28. program starts to read in the disk, cylinder by cylinder, searching
  29. for file/directory headers. This may take a while, so be patient.
  30. You may be told of read errors and other messages at this point:
  31.  - Block 0 has to start with `DOS' or `KICK'. If it does not, you are
  32. asked if you want to fix it.
  33.  - The program couldn't find the root block and FixDisk wants to
  34. build a new one.
  35.  - The disk isn't validated and the program will validate it.
  36.  - There is no root block and no file header on the disk, meaning the
  37. disk is probably a custom disk or the Kickstart disk. FixDisk won't
  38. check anything and won't let you check, change or fix anything except
  39. read errors.
  40.    You may press break (CTRL-C) if you want to abort this operation.
  41. When the disk has been examined, you'll get a file requester on the
  42. left half of the window. The first column shows the key, the block
  43. number where the file header has been found, followed by DEL for
  44. deleted files or '-->' followed by the file name. Red (color 3)
  45. entries are directories. Click on the file name to select it or
  46. shift-click for multiple selections. Double-click a directory to
  47. enter the directory.
  48.   The right half of the window is filled with 17 gadgets. Some of
  49. them are disabled at startup. These gadgets will write onto the disk.
  50. To enable them, choose "Write enable" from the Miscellaneous menu.
  51.  
  52. THE GADGETS:
  53.  
  54. Scan mode - ALL
  55.   Tells FixDisk to read the entire disk, cylinder by cylinder. This
  56. is the safest way of operation and makes sure you get any fileheader
  57. on the disk. It is used if the disk is heavily damaged, or if you
  58. want to undelete/recover all deleted files.
  59.  
  60. Scan mode - Directory
  61.     This is much faster than the previous one. It builds up the disk
  62. structure by following the hash chains, i.e. by reading the
  63. directory. Use this one for smaller problems like a 'key already set'
  64. error.
  65.  
  66. Scan mode - Deleted
  67.     Similar to 'Scan mode - All' but somewhat optimised to find
  68.     fileheaders. You may enter a filename to search for, if you wish.
  69.  
  70. Scan mode - Specify
  71.     Used to find deleted files. Lets you specify which cylinders to
  72. scan, in case you already know where the fileheader was. The usual
  73. trick is to type 'list keys' and to look where other files with the
  74. same date are stored and to scan the cylinders in the vicinity.
  75.  
  76. Directory - Parent
  77.    This gadget is part of the file requester. The requester will show
  78. files from the parent directory.
  79.  
  80. Directory - Root
  81.   Same as above, but steps to the root directory.
  82.  
  83. Show - Selected
  84.   Shows a file in Hex or ASCII. Like all other commands, the file is
  85. processed without using DOS, but each sector (block) is read, checked
  86. and displayed. It works just as "Copy" does (see below), so you can
  87. use this function to see what exactly can be recovered from a
  88. defective file. If the file is on a 'Standard Filesystem' (non FFS)
  89. disk, you will be asked from where the program should take the file
  90. links. Each block that belongs to a file is listed in the file header
  91. block and in one or more "file list blocks" if the file is too large.
  92. On the "Standard Filesystem," each data block has a pointer to the
  93. next block belonging to the same file.
  94. So there are two ways to determine how the file is built: using the
  95. links listed in the file header, or using the inter-block links. It
  96. is much safer if you select the file header links, since if only one
  97. block is wrong, you'll get rubbish using the inter-block links.
  98.  
  99. Check Files - Selected
  100.   This function checks the selected files. With the standard
  101. filesystem it is easy to determine if a file is good or defective, as
  102. each data block has a checksum, a pointer to the file header, pointer
  103. to the next block, etc. This is not the case with the FFS and there
  104. is no way to determine if a given data block really belongs to that
  105. file. So even if the file passes the test, it may still be corrupt.
  106.  
  107. Check Files - Deleted Checks
  108.   only deleted files, so you can see which one can be undeleted.
  109.  
  110. Check Files - All
  111.   Checks all files.
  112.  
  113. Undelete Files - Selected
  114.   This function first calls "check file." If the file seems to be OK,
  115. the file header is inserted into the hash chain of its parent
  116. directory and the bitmap is updated, but the "Bitmap Flag" changes to
  117. FALSE, just to make sure the disk is validated after this operation.
  118.  
  119. Undelete Files - All
  120.   Tries to undelete all deleted files.
  121.  
  122. Copy Files - Selected
  123.   Works like "Show" (see above). You'll be asked to enter an output
  124. path/directory. If the directory fills, you may enter a new path. If
  125. a given file already exists in the destination directory, the program
  126. will append ".2" to the filename (if .2 exists too, you'll get .2.2.
  127. (Don't tell me this is dumb, I know that already.) As with "Check
  128. File," you may get some error messages while the program is working.
  129. If a block doesn't seem to belong to a given file, you'll be asked to
  130. "SKIP IGNORE ABORT." Skip means the damaged block won't be copied,
  131. Ignore the block will be copied, no matter what is on that block,
  132. Abort leaves "Copy Files." Protection bits are preserved, dates are
  133. not.
  134.  
  135. Copy Files - All
  136.   Copies the entire disk, trying to recover as much as possible.
  137.  
  138. Wipe Files - Selected
  139.   This function clears the file header of a deleted file. Utilities
  140. like Diskdoctor and DiskSalv will try to recover all files, even if
  141. they have been deleted. If you don't want some files to pop up again
  142. using one of the programs above, you may use this function. Be
  143. warned: After this operation you'll have to use a
  144. disk-monitor/sector-editor to get the data back.
  145.  
  146. Wipe Files - Deleted
  147.   Purges all deleted files.
  148.  
  149. Delete - Selected
  150.   Deletes a file, i.e. the file header will be taken out of its hash
  151. chain, and the bitmap updated. The 'Bitmap Flag' will be set to FALSE
  152. as in "Undelete" (see above). This function even works if the DOS
  153. delete does return an error.
  154.  
  155. Delete - Faulty
  156.   Checks all files and deletes those with errors. The program may ask
  157. you before deleting a file, if you wish.
  158.  
  159. Info - Device
  160.   Returns some information about the selected device.
  161.  
  162. Validate - Disk
  163.   This is not the Amiga validator but my own. The main difference
  164. between them is that this one tries to repair the disk structure. You
  165. may get some error reports: loops in a hash chain, wrong or
  166. unreadable file headers, checksum errors or "key already set," two
  167. files claiming to own the same data block. You will be informed about
  168. any error and prompted before FixDisk attempts to fix it.
  169.  
  170. Rename - Selected
  171.   Rename a selected file.
  172.  
  173. Recover - Track
  174.   Tries to recover tracks with read/write errors on floppy disks. It
  175. uses the RAWREAD command from the trackdisk.device and therefore
  176. works with the trackdisk.device only. It will RAWREAD the track into
  177. a buffer, search the syncs and decode the sectors. If a sector sync
  178. is missing, the program tries to determine where the sector has to
  179. start. When the track has been decoded, you'll get a window
  180. displaying: the number of the sector (1-11), the first four longwords
  181. of that sector, if the checksum is OK or BAD, and if that block is
  182. ALLOCated or FREE. If an entry is red (color 3), the sector didn't
  183. have a sync. If instead of the first few bytes you get "unreadable,"
  184. the program couldn't even work out where the sector should have been.
  185. If you are not satisfied with the result, you may click RETRY to
  186. restart the procedure and usually get a different result. If you
  187. think the result is good enough, click on WRITE. This will format the
  188. track and write those sectors back. If the track has a hard error,
  189. i.e. a damaged surface, it may happen that the track can't be
  190. formatted. Click RETRY several times and the defective part of the
  191. track may fall into the gap at some point. If this doesn't seem to
  192. work, select SAVE from the requester and save the track to a file.
  193. Now exit FixDisk, backup the disk and restart FixDisk using the
  194. backup. Select Recover-Track and click LOAD from the requester,
  195. filling the buffer with the data from the original disk. After
  196. selecting WRITE again, the track should be recovered.
  197.  
  198.   Gadgets on the "Recover - Track" requester:
  199.  
  200.       RETRY
  201.     read and decode the same track again.
  202.  
  203.       WRITE
  204.     reformat the track an write the data back to the disk.
  205.  
  206.       NEXT / NEW
  207.     FixDisk builds a list of unreadable tracks. "NEXT" steps to the
  208.     next damaged track on the list. If the list is empty, the gadget
  209.     will display "NEW" instead.
  210.  
  211.       FIND
  212.     Searches a pattern anywhere in the buffer. Useful if you know the
  213.     first few bytes of a sector (which is quite easy to determine on
  214.     a standard file system disk).
  215.  
  216.       SAVE
  217.     Save the decoded track to a file.
  218.  
  219.       LOAD
  220.     Read a decoded track from a file into the buffer.
  221.  
  222.       CANCEL
  223.     Quit 'Recover - Track' and return to FixDisk's main window.
  224.  
  225.   The window displaying the sectors has several gadgets too:
  226.  
  227.       LEFT ARROW
  228.     If a sector sync mark is missing, FixDisk will compute the
  229.     position of that sector within the buffer and decode the sector
  230.     from this point. You may manually correct this position using the
  231.     arrow gadgets. The left arrow will shift the starting position
  232.     one BIT (not byte) to the left.
  233.  
  234.       RIGHT ARROW
  235.     Shift sector one bit to the right.
  236.  
  237.       NUMERIC STRING GADGET
  238.     the string gadget will display the position of the sector
  239.     relative to the FixDisk assumption.
  240.  
  241.       SECTOR DATA
  242.     clicking onto the sector data area will 'lock' the sector, i.e.
  243.     will prevent FixDisk from redecoding this sector when using
  244.     RETRY from the requester.
  245.  
  246. THE MENU
  247.   There are actually only two menu items:
  248.  
  249. Ignore Readerrors
  250.   Usually you get a requester asking RETRY IGNORE if an error occurs.
  251. This may be annoying if the disk has many defective tracks. This item
  252. will stop that requester popping up. It has also a second function.
  253. If you are using the "Copy" function, the program will stop every
  254. time a file seems to be damaged and ask what action should be taken.
  255. With "Ignore readerrors" on, errors are just listed, but the program
  256. will act as if you have chosen IGNORE.
  257.  
  258. Write Enable
  259.   Enables those gadgets that will write onto the disk.
  260.  
  261.  That's all. Well, almost. The program has about 80 requesters, some
  262. of them have not been explained, but they should be self-explanatory.
  263.  
  264. Send flames, bug reports, requests to
  265.  G35@DHDURZ1.BITNET
  266.  
  267. Werner Guenther
  268. Wingertspfad 12
  269. D 6900 Heidelberg (FRG)
  270.